﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Runtime.InteropServices;

namespace SilverlightViewport.Common.Interop
{
    [ComImport, Guid("00020403-0000-0000-C000-000000000046"), InterfaceType(ComInterfaceType.InterfaceIsIUnknown)]
    public interface ITypeComp
    {
        void RemoteBind([In, MarshalAs(UnmanagedType.LPWStr)] string szName, [In, MarshalAs(UnmanagedType.U4)] int lHashVal, [In, MarshalAs(UnmanagedType.U2)] short wFlags, [Out, MarshalAs(UnmanagedType.LPArray)] ITypeInfo[] ppTInfo, [Out, MarshalAs(UnmanagedType.LPArray)] tagDESCKIND[] pDescKind, [Out, MarshalAs(UnmanagedType.LPArray)] tagFUNCDESC[] ppFuncDesc, [Out, MarshalAs(UnmanagedType.LPArray)] tagVARDESC[] ppVarDesc, [Out, MarshalAs(UnmanagedType.LPArray)] ITypeComp[] ppTypeComp, [Out, MarshalAs(UnmanagedType.LPArray)] int[] pDummy);
        void RemoteBindType([In, MarshalAs(UnmanagedType.LPWStr)] string szName, [In, MarshalAs(UnmanagedType.U4)] int lHashVal, [Out, MarshalAs(UnmanagedType.LPArray)] ITypeInfo[] ppTInfo);
    }
}
